package com.coconet.gas.vo.dw;

import cn.afterturn.easypoi.excel.annotation.Excel;

import java.io.Serializable;
import java.util.Objects;
import javax.persistence.*;

@Table(name = "report")
public class Report implements Serializable {
    @Id
    private Integer id;

    /**
     * 任务id
     */
    @Column(name = "task_id")
    private String taskId;


    private String reportId;
    /**
     * 任务名称
     */
    @Excel(name = "扫描任务名称", height = 20, width = 30)
    @Column(name = "task_name")
    private String taskName;
    /**
     * 详情
     */
    @Excel(name = "详情", height = 20, width = 30)
    @Column(name = "cve_name")
    private String cveName;

    /**
     * cve编号
     */
    @Excel(name = "cve", height = 20, width = 30)
    private String cve;

    private String qod;

    /**
     * 得分
     */
    @Excel(name = "严重程度评分", height = 20, width = 30)
    private String severity;

    /**
     * 严重程度
     */
    @Excel(name = "严重程度", height = 20, width = 30)
    private String threat;
    //@Excel(name = "扫描ip", height = 20, width = 30)
    private String ip;
    @Excel(name = "扫描名称", height = 20, width = 30)
    private String hostName;
    @Excel(name = "端口", height = 20, width = 30)
    private String port;
    @Excel(name = "解决方案", height = 20, width = 30)
    private String solution;

    @Excel(name = "摘要", height = 20, width = 30)
    private String summary;

    @Excel(name = "影响", height = 20, width = 30)
    private String impact;

    private Integer repairStatus;

    private Integer ignoreStatus;



    public Integer getIgnoreStatus() {
        return ignoreStatus;
    }

    public void setIgnoreStatus(Integer ignoreStatus) {
        this.ignoreStatus = ignoreStatus;
    }

    public Integer getRepairStatus() {
        return repairStatus;
    }

    public void setRepairStatus(Integer repairStatus) {
        this.repairStatus = repairStatus;
    }

    public String getHostName() {
        return hostName;
    }

    public void setHostName(String hostName) {
        this.hostName = hostName;
    }

    public String getIp() {
        return ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    private static final long serialVersionUID = 1L;

    public String getSummary() {
        return summary;
    }

    public void setSummary(String summary) {
        this.summary = summary;
    }

    public String getImpact() {
        return impact;
    }

    public void setImpact(String impact) {
        this.impact = impact;
    }

    public String getSolution() {
        return solution;
    }

    public void setSolution(String solution) {
        this.solution = solution;
    }

    public String getPort() {
        return port;
    }

    public void setPort(String port) {
        this.port = port;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public String getReportId() {
        return reportId;
    }

    public void setReportId(String reportId) {
        this.reportId = reportId;
    }

    /**
     * @return id
     */
    public Integer getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取任务id
     *
     * @return task_id - 任务id
     */
    public String getTaskId() {
        return taskId;
    }

    /**
     * 设置任务id
     *
     * @param taskId 任务id
     */
    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    /**
     * 获取任务名称
     *
     * @return task_name - 任务名称
     */
    public String getTaskName() {
        return taskName;
    }

    /**
     * 设置任务名称
     *
     * @param taskName 任务名称
     */
    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }

    /**
     * 获取详情
     *
     * @return cve_name - 详情
     */
    public String getCveName() {
        return cveName;
    }

    /**
     * 设置详情
     *
     * @param cveName 详情
     */
    public void setCveName(String cveName) {
        this.cveName = cveName;
    }

    /**
     * 获取cve编号
     *
     * @return cve - cve编号
     */
    public String getCve() {
        return cve;
    }

    /**
     * 设置cve编号
     *
     * @param cve cve编号
     */
    public void setCve(String cve) {
        this.cve = cve;
    }

    /**
     * @return qod
     */
    public String getQod() {
        return qod;
    }

    /**
     * @param qod
     */
    public void setQod(String qod) {
        this.qod = qod;
    }

    /**
     * 获取得分
     *
     * @return severity - 得分
     */
    public String getSeverity() {
        return severity;
    }

    /**
     * 设置得分
     *
     * @param severity 得分
     */
    public void setSeverity(String severity) {
        this.severity = severity;
    }

    /**
     * 获取严重程度
     *
     * @return threat - 严重程度
     */
    public String getThreat() {
        return threat;
    }

    /**
     * 设置严重程度
     *
     * @param threat 严重程度
     */
    public void setThreat(String threat) {
        this.threat = threat;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Report report = (Report) o;
        return Objects.equals(id, report.id) && Objects.equals(taskId, report.taskId) && Objects.equals(reportId, report.reportId) && Objects.equals(taskName, report.taskName) && Objects.equals(cveName, report.cveName) && Objects.equals(cve, report.cve) && Objects.equals(qod, report.qod) && Objects.equals(severity, report.severity) && Objects.equals(threat, report.threat) && Objects.equals(ip, report.ip) && Objects.equals(hostName, report.hostName) && Objects.equals(port, report.port) && Objects.equals(solution, report.solution) && Objects.equals(summary, report.summary) && Objects.equals(impact, report.impact);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, taskId, reportId, taskName, cveName, cve, qod, severity, threat, ip, hostName, port, solution, summary, impact);
    }
}